package project;

import java.util.List;

public interface InputIF {
	/**
	 * Returns the type of command that was input by the user
	 * @return The type of command that was input by the user
	 */
	Command getCommand();
	
	/**
	 * Returns the value of the required argument of the command, if there is one
	 * @return The command's required argument
	 */
	String getRequired();
	
	/**
	 * Returns a list of optional arguments that were passed by the user
	 * @return A list of optional arguments that were passed by the user
	 */
	List<String> getOptional();
	
	/**
	 * Returns whether the input command was valid or not.  
	 * Input will print an error message explaining the error automatically.  
	 * @return Whether the input command was valid or not.  
	 */
	boolean isValid();
}
